package designpatterns.observer;

/**
 * 观察者模式（Observer）‌
 * 又叫“发布-订阅”模式、“模型-视图”模式，多个对象间存在一对多的依赖关系，当一个对象的状态发生改变时，所有依赖于它的对象都得到通知并自动更新。
 * 注意：具体目标对象和具体观察者对象之间不能直接调用，否则将使两者之间紧密耦合起来。‌
 * 定义一对多依赖，对象状态变化时自动通知依赖者。
 */
public class Client {
    public static void main(String[] args) {
        Subject subject = new Subject1();
        Observer observer1 = new Observer1();
        Observer observer2 = new Observer2();
        subject.add(observer1);
        subject.add(observer2);
        subject.notifyObservers();
    }
}
